# encoding: utf-8

from parser import Parser


def main():

    comandos_ok = ["get_metadata", "quit"]
    protocolo = Protocolo()
    parser = Parser(comandos_ok)
    comando = "get_metadata"

    print "Se va a chequear el comando con argumentos: ", comando
    try:
        parser.chequear(comando)
    except NameError as e:
        print "Excepcion: ", e
        # como soy el de mas alto nivel. no debo levantar la excepcion..
        # pero si alguien depende de mi resultado, SI debo hacerlo..
        return
    print "El comando  ", parser.get_comando(), " es valido"
    print "Los argumentos ", parser.get_argumentos()
    # aca deberia pasar a ejecutar el comando, siempre y cuando los
    # argumentos esten OK..
    protocolo.set_comando(parser.get_comando())
    protocolo.set_argumentos(parser.get_argumentos())
    try:
        protocolo.run()
    except NameError as e:
        print "Excepcion: ", e
        # como soy el de mas alto nivel. no debo levantar la excepcion..
        # pero si alguien depende de mi resultado, SI debo hacerlo..
        return

    print "Done!\n"

if __name__ == '__main__':
    main()
